共计 3897 个字符,预计需要花费 10 分钟才能阅读完成。
原作者:Chris Mills
文章出处:https://developer.mozilla.org/en-US/blog/goodbye-third-party-cookies/
编译:裴先生笔记
2023 年的尾声迎来了网络隐私保护的好消息,Chrome 浏览器宣布将与 Firefox 和 Safari 一起在 2024 年禁用第三方 Cookie – 从 2024 年第一季度开始禁用 1%的用户,以方便测试,并从那时起逐步禁用。
本文将解释第三方 Cookie 背后的问题、为减少这些问题已经采取的措施、Chrome 浏览器从 2024 年第一季度开始禁用第三方 Cookie 的计划,以及这一切对网络开发人员及其产品用户的影响。
Cookie 的问题
Cookie 在网络上已经存在了很长时间。简而言之,Cookie
的原理是网站在请求资源后,通过Set-Cookie
响应头在用户浏览器上设置一个Cookie
。Cookie 可以包含网站所有者希望的任何数据字符串,一般用于为网站提供状态。【裴先生笔记 – 裴先生的技术博客空间,探索前沿技术,解决实际问题,提升自我价值】
例如,Cookie 可以让网站检索用户以前是否登录过、购物车中添加了什么、主题偏好和其他个性化设置、保存的游戏状态等信息。
注:Cookie 曾经是存储客户端网站数据的主要方法,不过现在有了更有用的技术,如
Web Storage
和IndexedDB
。
上述用例均可通过为与浏览器加载的 URL 位于同一域的文档设置 Cookies 来实现。这些被称为第一方 Cookie。
当为存在于与嵌入文档不同域的组件(如图像或通过<iframe>
嵌入的其他文档)设置 Cookie 时,可能会出现问题。这些跨站点 Cookie 通常被称为第三方 Cookie,但无论你是否拥有所有相关网站,其行为和潜在问题都是一样的。
第三方组件可将其嵌入的所有文档中的信息存储在 Cookie 中。然后,始发的第三方域可以访问所有这些第三方 Cookie,汇总每个 Cookie 中的信息。例如,一家公司可能希望在其拥有的位于不同域的多个网站上共享用户登录状态和个人资料信息,或者记录其不同属性的分析结果,以调查用户旅程并构建更可用的体验。广告技术公司可能希望从用户访问的网站中推断出用户的兴趣,从而为他们提供更相关的广告。
然而,在最糟糕的情况下,第三方 Cookie 被用来在网络上跟踪用户,建立用户的详细资料,其中不仅包括兴趣爱好,还包括性别、性取向、宗教信仰、政治派别等深层次个人信息。这些信息可用于构建令人毛骨悚然的侵入式在线体验,也可出售给其他第三方。在这种情况下,它们被称为跟踪 Cookie。
欧盟的《通用数据隐私条例》(GDPR)和《加利福尼亚州消费者隐私法》(CCPA)等法律规定,公司必须对其设置的 Cookies 和收集的信息保持透明,例如,要求客户选择接受此类数据收集,允许客户查看公司掌握了他们的哪些数据,并允许客户根据自己的意愿删除这些数据。然而,客户并不总是很清楚他们的数据是如何被使用的。
浏览器供应商的应对措施
Mozilla 和 Apple 等浏览器供应商提供了阻止第三方 Cookie 的一般默认设置,同时还在源代码中加入了例外情况和启发式方法,以解决流行网站长期存在的第三方 Cookie 问题。
例如:
- Mozilla 的反跟踪政策使 Firefox 默认阻止来自已知跟踪器的第三方 cookie(请参阅Firefox 跟踪保护和增强跟踪保护)。火狐还为每个网站的第三方 Cookie 提供了一个单独的 Cookie 罐,这样它们就不能被用于跨网站跟踪用户了(请参阅 “全面 Cookie 保护“)。
- 苹果公司也有类似的追踪防护政策;遵循这一政策,苹果公司也会默认启用一套类似的第三方 cookie 保护措施;详情请参见智能追踪防护 (ITP)。
- Brave浏览器默认也会阻止跟踪 Cookie。
在 Firefox 中,可以通过浏览器设置逐个允许使用第三方 Cookie。但在 Safari 中,控制就比较有限了–你可以关闭跨站跟踪预防功能,但只能在代码级通过存储访问 API 来允许访问每帧的第三方 Cookie。【裴先生笔记 – 裴先生的技术博客空间,探索前沿技术,解决实际问题,提升自我价值】
谷歌的长远计划
谷歌在第三方 cookie 保护方面似乎比其他浏览器慢了一步。在撰写本文时,第三方 Cookie 默认只在隐身模式下被阻止,不过用户可以根据自己的意愿将 Chrome 浏览器设置为始终阻止第三方 Cookie。
注意:Microsoft Edge 默认情况下也不阻止第三方 Cookie。
谷歌看似反应迟缓的原因在于其在第三方 Cookie 商业用途上的既得利益,其中有包括谷歌在内的各种不同组织提供的广告,以及第三方身份验证服务和许多其他用途。Chrome 浏览器在浏览器市场上也占有很大的份额,这加剧了人们对可能破坏其用户群关键旅程(如登录政府服务或购买日用品)的担忧。
谷歌并没有迅速采取一刀切的禁用方案,而是选择了一种更为细致的解决方案–在开发新技术的同时,以更缓慢的速度逐步淘汰第三方 Cookie,以确保在默认禁用第三方 Cookie 后,有效的使用案例能有一条注重隐私的出路,而不是潜在地促使网站转向更隐蔽的跟踪形式,或将内容转移到登录和付费墙后面。
这些新的网络平台功能由隐私沙盒项目统一收集,并已进行了大量的开发和测试。有些功能现在已支持跨浏览器,例如存储访问 API,为实现不同浏览器在处理跨站 Cookie 方面的一致性铺平了道路。
现在,谷歌认为这些功能已经足够成熟,足以支持其预期的使用情况,因此谷歌允许开始禁用第三方 Cookie。
为便于测试,Chrome 浏览器将从 2024 年第一季度开始禁用 1% 用户的第三方 Cookie,并从 2024 年第三季度开始逐步禁用 100% 的用户。100%的禁用率取决于谷歌是否能解决英国竞争与市场管理局(CMA)提出的其他竞争问题。
对网络开发人员的影响
由于这一变化,网站开发人员很可能会遇到更多用户在其网站属性上出现体验中断的情况,特别是如果他们直接设置第三方 Cookie 或使用设置第三方 Cookie 的第三方服务。
为解决此类问题,建议您:
- 审计第三方 Cookie 的使用情况。第三方 Cookie 设置了
SameSite=None
值;因此,通过在浏览器 DevTools(例如Firefox 存储检查器或Chrome浏览器应用程序面板)中搜索此设置,就能识别它们。 - 测试使用第三方 Cookie 的功能是否被破坏。您可以在浏览器设置中阻止第三方 Cookie。Chrome 118+版本 还有一个开关
chrome://flags/#test-third-party-cookie-phaseout
,启用后将设置 Chrome 浏览器阻止第三方 Cookie,并确保新功能和缓解措施处于激活状态,以便最好地模拟逐步淘汰后的状态。- 您应该验证是否仍然需要
SameSite=None
Cookie。它们有可能被标记为 “不需要”,以便在过去提供快速修复。
- 您应该验证是否仍然需要
- 修复已损坏的关键功能。有多种替代方案可能适合您,例如:
- 至少在最初阶段,你可以让你的代码更有弹性,这样当第三方 Cookie 数据不可用时,它就能提供个性化程度较低的体验,而不是完全崩溃。遵循优雅降级的原则。
- 您可以选择通过其他方式收集此类数据,如用户调查或测验,或查看您已有的数据(如产品订单历史记录)以推断趋势。
- 如果您的第三方 Cookie 只用于少数相关的已知网站,您可以使用存储访问API和/或相关网站集,只允许这些特定网站进行跨站 Cookie 访问。存储访问会提示用户提供允许网站按帧使用第三方 Cookie 的权限。
- 如果您已经使用 Firefox 或 Safari 浏览器的存储访问 API 实施了解决方案,那么现在正是根据 Chrome 浏览器的行为检查您的实施方案的好时机,Chrome 浏览器已更新至 119 版本,以提供全面支持。
- 相关网站集可视为存储访问 API 的渐进增强: API 可以同样的方式使用,但该集合中的网站不会提示用户访问第三方 Cookie 的权限。
- 如果您的第三方 Cookie 与其生成的顶级网站以 1:1 的比例使用,您可以使用具有独立分区状态的 Cookie(CHIPS)或分区 Cookie,选择将您的 Cookie 分区存储,每个顶级网站有一个单独的 Cookie jar。这只需要在现有的跨站点 Cookie 中添加
分区
属性。这样,它们就可以不受限制地使用,但不能与其他网站共享。请注意,CHIPS 目前仅适用于 Chromium。 - 你可以开始探索 Google 隐私沙盒项目中的不同功能,看看它们是否适合你的使用情况(这些功能目前也仅限 Chromium 使用)。例如:
- 联盟凭证管理 (FedCM) API: 启用联合身份服务,允许用户登录网站和服务。
- 私有状态令牌: 通过在网站间交换有限的非识别信息,实现反欺诈和反垃圾邮件。
- 主题 API: 实现基于兴趣的广告和内容个性化。
- 受保护受众 API: 实现再营销和自定义受众。
- 归因报告API: 可测量广告印象和转化率。
【裴先生笔记 – 裴先生的技术博客空间,探索前沿技术,解决实际问题,提升自我价值】
总结
从网络上消除第三方 Cookie 的工作已经进行了很长时间,故事还没有结束。不过,Chrome 浏览器的宣布是朝着实现这一目标迈出的一大步。您可以提供帮助–使用上面的资源来检查您的网站和应用程序是否可以利用目前可用的功能来摆脱第三方 Cookie 的使用。传播相关信息,鼓励他人也这样做。并向浏览器供应商反馈仍有哪些不足之处。
注:谷歌开发者网站上的文章《为第三方 cookie 的终结做好准备》提供了更多有关从 Chrome 浏览器角度进行测试的信息,以及如何使用隐私沙盒技术来解决你的问题。